package com.example.demo.designpattern.danlimoshi;

/**
 * 懒汉模式（线程安全） - 对getInstance()方法添加synchronized关键字
 * 优点：解决了线程不安全问题
 * 缺点：每次调用都加锁同步执行，对象返回效率低，不推荐使用。
 */
public class D3 {

    private static D3 instance;

    private D3() {
    }

    /**
     * 使用synchronized加锁，来保证线程安全性
     * synchronized关键字在静态方法上，锁为当前Class对象
     */
    public static synchronized D3 getInstance() {
        if (null == instance) {
            instance = new D3();
        }
        return instance;
    }
}
